Recommendations based on an adoption curve

ABSTRACT

Methods and apparatus, including computer program products, for recommendations based on adoption curve. A method includes tracking over a period of time user popularity of a media content using a web service residing in a server, the popularity and period of time representing a life cycle of each of the media content. The method tracks over the period of time users enrolled in the web service and when in the period of time each of the users adopted the tracked media content and associates adopted media content with user profiles representing the users. The method recommends media content associated with a first user who adopted the tracked media content earlier in the period of time to a second user who may want to adopt the tracked media content subsequently in the period of time.

BACKGROUND

The present disclosure relates to data processing by digital computer,and more particularly to recommendations based on an adoption curve.

The task of a conventional content-recommendation service is torecommend content or services to a user. In one example, arecommendation engine provided by a web-based music vendor may recommendcertain songs to customers. Two classes of static recommendation systemsthat have been used for such purposes are attribute-based recommendationsystems and collaborative-filtering based recommendation systems.

SUMMARY

The present invention provides methods and apparatus, including computerprogram products, for recommendations based on an adoption curve.

In general, in one aspect, the invention features a method includingtracking over a period of time user popularity of a media content usinga web service residing in a server, the popularity and period of timerepresenting a life cycle of each of the media content and tracking overthe period of time users enrolled in the web service and when in theperiod of time each of the users adopted the tracked media content. Themethod associates adopted media content with user profiles representingthe users, and recommends media content associated with a first user whoadopted the tracked media content earlier in the period of time to asecond user who might want to adopt the tracked media contentsubsequently in the period of time.

In embodiments, tracking over the period of time user popularity of themedia content can include tracking a number of downloads by users at anygiven time within the period of time, tracking a number of page views byusers at any given time within the period of time, and/or tracking alength of time listened to or viewed by users at any given time withinthe period of time.

In embodiments, associating adopted media content with user profilesrepresenting the users can include identifying genres of the user'sadopted media content, and storing the adopted media content and theidentified media content in the user's web service profile.

Each of the user profiles can include a user-selectable preferenceindicator. The indicator can represent or indicate how adventurous theuser is feeling with respect to being exposed to new content.

In embodiments, recommending media content can include matching mediacontent of a genre associated with the first user with media content ofthe genre associated with the second user, and recommending matchedmedia content of the genre associated with the first user to the seconduser.

Tracking can include measuring a mean and a variance of a histogram ofsong plays, fitting the histogram to a Gaussian curve, and re-labeling atime axis of the histogram to normalize. The mean of the Gaussian curvecan become time 0, plus one and minus one standard deviations labeled asplus one and minus one. A user who is a very early adopter will have amean play time that is significantly less than zero and a user that is avery late adopter will have a mean play time that is much higher thanone.

In another aspect, the invention features a method including trackingover a period of time user popularity of a media content using a webservice residing in a server, the popularity and period of timerepresenting a life cycle of each of the media content. The methodtracks the media content that users engage over time and catalogs theengaged content into user portfolios of content, along with otherinformation. The method measures differences in value of the mediacontent in the portfolios of users at a first point in time and at asubsequent point in time and positions users relative to each on a curvedepending on value changes in their portfolios between the first pointin time and the subsequent point in time. The method recommends mediacontent of a first user to a second user, the first person positionedahead of the second user on the curve.

In embodiments, tracking over the period of time user popularity of themedia content can include tracking a number of downloads by users at anygiven time within the period of time, tracking a number of page views byusers at any given time within the period of time, and/or tracking alength of time listened to or viewed by users at any given time withinthe period of time.

In embodiments, the value of media content can be determined by how themedia content is engaged as a fraction of all media engagement events ina particular period of time. Each engagement can be equated to a point.

Recommending media content can include matching media content of a genreassociated with the first user with media content of the genreassociated with the second user, and recommending matched media contentof the genre associated with the first user to the second user.

In still another aspect, the invention features a method including, in aserver system, tracking popularity of songs over a period of time andtracking songs that a user plays over time. The method catalogs thetracked songs into a user portfolio of played songs along with otherinformation, values the tracked songs, and measures a difference invalue of played songs in the portfolio of the user at a first point intime and at a subsequent point in time.

In embodiments, valuing can include monitoring how often the trackedsongs are played by the user and a popularity of the tracked songs as afraction of a total number of plays by a number of users. Each song playcan be assigned a point. Measuring can include assigning points to eachplay at the first point in time, and assigning points to each play atthe subsequent point in time proportional to a song's change inpopularity.

The invention can be implemented to realize one or more of the followingadvantages.

A method measures a user's position on an adoption life cycle curve,suggests media content to the user based on the user's position on thecurve relative to other users. The method can use adoption time as afilter or adjunct to conventional recommendation systems.

The value of a song can be based on how often it is played, as afraction of all the play events.

A method enables identifying new content (e.g., music or movie)associated with consumers that are early adopters and uses these earlyadopters to make recommendations for other less adventuresome listeners,or to provide content-consumer intelligence.

A method captures the dynamics of media consumption.

A method recommends content, such as music, to users based on where theyare on the adoption life cycle.

A method places users at the proper position on the adoption life cyclecurve and identifies the content (e.g., songs) that is popular with onegroup of adoptees so the content can be recommended to those that areless adventuresome.

A method helps users find new content (e.g., music to listen to) in avery dynamic content environment.

A method makes recommendations based on early adoption (and othertemporal periods).

A method can predict hits based on who is listening to a song early inits adoption life cycle.

A method can provide intelligence to media producers based on aportfolio model and other predictions of early adopters of what songsare going to be most popular.

One implementation of the invention provides all of the aboveadvantages.

Other features and advantages of the disclosure are apparent from thefollowing description, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary network.

FIG. 2 is an exemplary adoption life cycle curve.

FIG. 3 is an exemplary histogram and adoption life cycle curve.

FIG. 4 is a flow diagram.

FIG. 5 is a flow diagram.

FIG. 6 is a flow diagram.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

As shown in FIG. 1, an exemplary network 10, shown here as aclient-server network, includes a client 12 connected to a globalnetwork of interconnected computers 14. In one particular example, thenetwork 14 is the Internet. In other examples, the network 14 can be anynetwork capable of transmitting data, such as, for example, an intranet,Local Area Network (LAN), Wide Area Network (WAN), or other networkusing point-to-point protocols (PPP), Wireless Application Protocols(WAP), and so forth. A server 16 is linked to the client 12 through thenetwork 14.

The client 12 can include a processor 20 and memory 22. Memory 22includes an operating system (OS) 24, such as Linux or Windows®, and aweb browser process 26. With web browser 26, such as Firefox®, Opera®,or Netscape Navigator®, a user can view web pages that may contain text,images, and/or other multimedia, and navigate between web pages usinghyperlinks.

The client 12 includes an input/output device 28 for display of agraphical user interface (GUI) 30, generated by web browser process 26,for display to a user 32.

The server 16 can include a processor 34, memory 36 and storage device38. Memory 36 includes an OS 40, such as Linux or Windows®, and webservices 42. Web services 42 include a helper application 100, describedbelow. Example web services 42 include web-based music services, such asYahoo!® Music™ Unlimited, web-based email services, such as Yahoo!®email, web-based toolbar services, such as Yahoo!® toolbar, andweb-based instant messaging services, such as Yahoo!® Messenger,

The user 32 can subscribe to one or more of web services 42 through webbrowser 26. For example, if the user 32 subscribes to Yahoo!® Music™Unlimited, the user 32 can play and save full-length songs, select fromthousands of play lists, access new music releases, enjoycommercial-free radio stations twenty-four hours a day, generate andshare music with friends, access music and play lists from other users,pay per song to keep the music, and so forth. The web service 42maintains a database of users, along with their profiles, a store ofmusic, tracking information (e.g., music downloads, plays, and soforth), and a preference indication of how adventurous the user isfeeling with respect to being exposed to new content. For example, apreference indicator of “1” may reflect a desire to be conservativewhile a preference indicator of “10” may reflect a desire to beextremely adventurous. Other indicators, numeric or non-numeric, canalso be used. A user's preference indicator can be user-selectable sothat the user can alter the preference indicator when desired.

Subscription to one of the web services 42, such as Yahoo!® Music™Unlimited, provides content recommendations to the user 32 via thehelper application 100. The helper application 100 recommends content,e.g., music, for users based on where users are positioned on a bellcurve or Gaussian curve referred to herein as an adoption life cyclecurve.

As any new content becomes available, helper application 100 within theweb service 42 such as Yahoo!® Music™ Unlimited, tracks its popularityover time. Determining popularity is an on-going process and can bemeasured by the helper application 100 using one or more functions, suchas the number of downloads by users at any given time, tracked over aperiod of time, or the number of page views, or the length of timelistened to or viewed by users. This data is maintained and routinelytracked and updated by the web service 42. The information can be storedon the server 16 and used to position users of the web service 42 withrespect to each other and when in time they adopt particular content.Analyzing content in this manner captures the dynamics of mediaconsumption. Most products go through a life cycle based when consumersadopt to a new idea, through a peak of popularity and then dwindlingpopularity. A bell curve (i.e., adoption life cycle curve), heredepicted as a mathematical or graphical representation of the popularityof music (e.g., a single song, a genre, a band, an album, and so forth),in one instance, can be plotted against time on one axis, and used tounderstand who the early adopters are. An early adopter interests can beused to generate recommendations to users who are later adopters, i.e.,less adventuresome. Placing users on the adoption life cycle curverepresents and identifies how some users adopt content earlier thanothers, while other users adopt content at a time in which the contenthas grown to a peak of popularity, or subsequent to its peak ofpopularity.

As shown in FIG. 2, an exemplary adoption life cycle curve 50 uses musicas an example. In this example, the adoption life cycle curve 50 isdepicted as Gaussian curve of the popularity of music (e.g., a singlesong, a genre, a band, an album, and so forth) plotted on one axis,against time on another axis. In general, a Gaussian distribution, alsocalled a normal distribution, is an important family of continuousprobability distributions, applicable in many fields. Each member of thefamily may be defined by two parameters, location and scale: the mean(“average”) and standard deviation (“variability”), respectively. Thestandard normal distribution is the normal distribution with a mean ofzero and a variance of one.

In other examples, the adoption life cycle curve 50 can be applied toother web content, such as movies, restaurants, videos, images, mediaitem portions for use in mash-ups or mixes, blogs, printed media,vacation destinations, and any other type of content that may beexperienced by a user in some form, and in connection therewith a user'spositive preference for the content or item can be derived orascertained. Here the mean 52 of the adoption life cycle curve 50represents a peak of the music's usage or popularity.

Users can be categorized and placed on the adoption life cycle curve 50,based upon how early (or late) in time the user is determined to expressthat they like the thing represented by the curve 50 (a positivepreference). The degree to which a user expresses a preference can alsoserve as a variable or threshold in plotting the adoption life cyclecurve 50, for example the curve only represents users that rated an itemof content with three out of five stars, or a rating of seventy out ofone hundred, on a preference scale that may be presented in a userinterface (UI) of the web service 42. Or, the preference may be derivedfrom user behavior, for example, when a user plays a song five times ina week, even if that user did not affirmatively rate the song throughthe UI.

More particularly, if the current user's preference indicator is low,the helper application 100 identifies other users that are close toand/or just ahead of the current user on the adoption life cycle curve50. In the exemplary adoption life cycle curve 50, points along theadoption life cycle curve 50 can be assigned a numeric representingwhere a user is positioned with respect to the adoption of content. Inthe example, a peak of popularity in time is assigned a numeric value of1.0, a start before any popularity is assigned a numeric value of 0.0and an end of popularity is assigned a numeric value of 2.0. Values lessthan 1 represent users who adopted particular content prior to its peakof popularity, while values greater than 1 represent users who adoptedthe particular content after the peak. For example, a user assigned anumeric of 0.3 on the adoption life cycle curve 50 is considered to bean individual who adopts to particular content earlier than a userassigned a numeric value of 0.5, i.e., 0.3<0.5. A user assigned anumeric value of 0.9 is considered to be an individual who adoptsparticular content earlier than a user assigned a numeric value of 1.5,i.e., 0.9<1.5. This numeric assignment scheme can be used in conjunctionwith a particular user's preference indication to recommend contentidentified as being liked by users positioned before the user on theadoption life cycle curve 50. If the current user's preference indicatoris high, helper application 100 identifies users that are farther awayand ahead of the current user on the adoption life cycle curve 50. Forexample, if the current user is placed at 0.8 on the adoption life cyclecurve 50 and the current user's preference indication is 1,identification engine 104 identifies content associated with usersplaced at 0.7 on the adoption life cycle curve 50. If the current useris placed at 0.7 on the adoption life cycle curve 50 and the currentuser's preference indicator is 5, identification engine 104 identifiescontent associated with users placed at 0.4 on the adoption life cyclecurve 50.

In one example, content, such as the songs that a user listens to overtime, are tracked and cataloged into a user portfolio of content, alongwith other information, using helper application 100. The helperapplication 100 measures a difference in a user's content portfolio at afirst point in time and again at a subsequent point in time.

Using songs as an example, songs can be valued. The helper application100 uses the user portfolio to capture a change in popularity of thesongs the user listens to today, based on how often they are playedtoday, and at a point in the future. If the songs the user is listeningto are growing in popularity, then the user's portfolio value will goup.

For example, the value of a song can be based on how often it is played,as a fraction of all the play events. If each play is equated to a pointand if there are one million play events for all songs over a selectedperiod of time, then each point is numerically equal to one millionthand the sum of all points is equal to one.

At an initial point in time, the helper application 100 counts thenumber of times each web service user plays a song and gives each user apoint for each play. For some selected time in the future, each songgets points proportional to its change in popularity. For example, ifthe song is played 0.1% of the time today, and 0.2% of the time afterone month, then this song is worth two points after a month. Tocalculate a future value, the helper application 100 uses the frequencyof plays today and sums the value of today's plays with next month'svalues.

Likewise, if a song's popularity is falling, then a song worth one pointtoday might be worth one half point in a month. That portion of theuser's portfolio value will decline by 50%.

This measure generated by the helper application 100 provides anestimate of where users are in their adoption time, i.e., positiveportfolio changes mean the users are earlier adopters while negativeportfolio changes means the users are later adopters.

This helper application 100 does not place users on the adoption lifecycle curve 50 very precisely in time, rather, it merely places users onthe adoption life cycle curve 50 relative to each other. Morespecifically, users whose portfolio values increase over time are placedon the adoption life cycle curve 50 ahead of users whose portfoliovalues do not increase as much or decrease in value.

As shown in FIG. 3, as an alternative to the portfolio method describedabove, and to more precisely place users in time, the helper application100 can track content, such as song plays, to generate a more detailedsong histogram 60. In this example, the helper application 100 measuresa mean and variance of the song histogram 60 and then fits a Gaussiancurve 62 (i.e., an adoption life cycle curve) to the data. The helperapplication 100 re-labels the time axis (i.e., x-axis) to normalizeeverything. For example, the mean of the Gaussian curve 60 becomes time0. Plus one and minus one standard deviations out are labeled as plusone and minus one. This gives a normalized time scale in terms of thestandard deviations from the mean. The helper application 100 canre-label the time of each user's play events in terms of theirstandardized times. A user who is a very early adopter will have a meanplay time that is significantly less than zero. A user that is a verylate adopter will be much higher than one. Thus, users can be placed onthe curve 60 as they adopt content in time relative to popularity and toeach other more precisely. This measure of adoption time for one songcan be average over all songs a user plays during a given period, forexample a day, to get a measure of that user's position on themusic-adoption scale.

Both methods described above provide a way to characterize an adoptiontime of a user.

A user's position on the adoption life cycle curve 50 is stored by theweb service 42 and may change over time. Accordingly, positions of userson the adoption life cycle curve 50 can be updated periodically, suchas, for example, daily, weekly or monthly.

As described above, the helper application 100 identifies the content,e.g., songs, often categorized by genre, which are popular with a groupof adoptees. For a particular user, the helper application 100identifies other users in the database of users stored in the serverstorage device 38 who are positioned on the adoption life cycle curve 50just ahead of the particular user, and in some examples, using thecurrent user's preference indicator of how adventurous the user isfeeling with respect to being exposed to new content, which the user mayhave included in their profile, or which may be derived by the webservice 42 on observed user behavior (e.g., a user is consistentlyidentified as an early adopter, so the web service 42 assumes they are aadventurous and more open to new content).

If a user is feeling adventuresome, the helper application 100 matchesthe tastes of the current user with the tastes of the earlier users. Forexample, if the current user likes country music, then helperapplication 100 can be designed so that it loads only identified userswith country music tastes. Helper application 100 then recommends musicassociated with the identified users of similar musical tastes that aremore adventurous than the current user and likewise, if the user iswanting safe musical choices.

More generally, once a user's position on the adoption life cycle curve50 is identified, helper application 100 finds other users withapproximately similar tastes. For somebody at any position Ton theadoption life cycle curve 50, helper application 100 recommends songs ofusers at T−Δ, where Δ is a variable that reflects how adventuresome(e.g. open to new or unexperienced media) the user has been determinedto be based on observed behavior, derived behavior, and/or byself-identification via preference input by the user.

The helper application 100 can be used to enable recommendations basedon early adoption (and other temporal periods), predict hits based onwho is listening to a song early in its life cycle, (for example where auser or group of users has shown over time that many of the songs theyadopt early become “hits” or very popular) and provide intelligence tomedia producers, based on the portfolio model described above and otherpredictions of early adopters, of what songs are going to be mostpopular. Such information can be sold, for example, as one of myriadways to monetize the features described herein. For other items ofcontent intelligence gathered could be sold to advertisers or marketingcompanies or consultants, or be used for competitive analysis, as just afew examples.

While examples above used songs as the exemplified media, any media typecan be contemplated as coming within the scope of the disclosure,including, by way of non-limiting example, video, images, ring tones,movies, podcasts, blog posts, media item portions for use in mash-ups,or any type of consumable media that may be experienced by a user bysome electronic means.

As shown in FIG. 4, helper application 100 includes tracking (102) overa period of time user popularity of media content using a web serviceresiding in a server. The popularity and period of time represents alife cycle of each of the media content. Tracking (102) over the periodof time user popularity of the media content can include tracking anumber of downloads by users at any given time within the period oftime, tracking a number of page views by users at any given time withinthe period of time, and/or tracking a length of time listened to orviewed by users at any given time within the period of time.

Helper application 100 tracks (104) over the period of time usersenrolled in the web service and when in the period of time each of theusers adopted the tracked media content. Tracking (104) can includemeasuring a mean and a variance of a histogram of song plays, fittingthe histogram to a Gaussian curve, and re-labeling a time axis of thehistogram to normalize. The mean of the Gaussian curve becomes time 0,plus one and minus one standard deviations out labeled as plus one andminus one.

Helper application 100 associates (106) adopted media content with userprofiles representing the users. Associating (106) adopted media contentwith user profiles representing the users can include identifying genresof the user's adopted media content, and storing the adopted mediacontent and the identified media content in the user's web serviceprofile. Each of the user profiles can include a user-selectablepreference indicator that indicates how adventurous the user is feelingwith respect to being exposed to new content.

Helper application 100 recommends (108) media content associated with afirst user who adopted the tracked media content earlier in the periodof time to a second user who may want to adopt the tracked media contentsubsequently in the period of time. Recommending (108) media content caninclude matching media content of a genre associated with the first userwith media content of the genre associated with the second user, andrecommending matched media content of the genre associated with thefirst user to the second user.

As shown in FIG. 5, in a second example, helper application 100 includestracking (202) over a period of time user popularity of media contentusing a web service residing in a server. The popularity and period oftime represents a life cycle of each of the media content. Tracking(202) over the period of time user popularity of the media content caninclude tracking a number of downloads by users at any given time withinthe period of time, tracking a number of page views by users at anygiven time within the period of time, and/or tracking a length of timelistened to or viewed by users at any given time within the period oftime.

Helper application 100 tracks (204) the media content that users engageover time.

Helper application 100 catalogues (206) the engaged content into userportfolios of content, along with other information.

Helper application 100 measures (208) differences in value of the mediacontent in the portfolios of users at a first point in time and at asubsequent point in time. The value of media content can be determinedby how the media content is engaged as a fraction of all mediaengagement events. Each engagement can be equated to a point.

Helper application 100 positions (210) users relative to each other on acurve depending on value changes in their portfolios between the firstpoint in time and the subsequent point in time.

Helper application 100 recommends (212) media content of a first user toa second user, the first person positioned ahead of the second user onthe curve. Recommending (212) media content can include matching mediacontent of a genre associated with the first user with media content ofthe genre associated with the second user, and recommending matchedmedia content of the genre associated with the first user to the seconduser.

As shown in FIG. 6, in a third example, helper application 100 includestracking (302) popularity of songs over a period of time.

Helper application 100 tracks (304) songs that a user plays over time.

Helper application 100 catalogues (306) the tracked songs into a userportfolio of played songs along with other information.

Helper application 100 values (308) the tracked songs. Valuing (308) caninclude monitoring how often the tracked songs are played by the userand a popularity of the tracked songs as a fraction of a total number ofplays by users. Each song play can be assigned a point.

Helper application 100 measures (310) a difference in value of playedsongs in the portfolio of the user at a first point in time and at asubsequent point in time. Measuring (310) can include assigning pointsto each play at the first point in time, and assigning points to eachplay at the subsequent point in time proportional to a song's change inpopularity.

Embodiments of the disclosure can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. Embodiments of the disclosure can be implementedas a computer program product, i.e., a computer program tangiblyembodied in an information carrier, e.g., in a machine readable storagedevice or in a propagated signal, for execution by, or to control theoperation of, data processing apparatus, e.g., a programmable processor,a computer, or multiple computers. A computer program can be written inany form of programming language, including compiled or interpretedlanguages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment. A computer program can bedeployed to be executed on one computer or on multiple computers at onesite or distributed across multiple sites and interconnected by acommunication network.

Method steps of embodiments of the disclosure can be performed by one ormore programmable processors executing a computer program to performfunctions of the disclosure by operating on input data and generatingoutput. Method steps can also be performed by, and apparatus of thedisclosure can be implemented as, special purpose logic circuitry, e.g.,an FPGA (field programmable gate array) or an ASIC (application specificintegrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for executing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. Information carrierssuitable for embodying computer program instructions and data includeall forms of non volatile memory, including by way of examplesemiconductor memory devices, e.g., EPROM, EEPROM, and flash memorydevices; magnetic disks, e.g., internal hard disks or removable disks;magneto optical disks; and CD ROM and DVD-ROM disks. The processor andthe memory can be supplemented by, or incorporated in special purposelogic circuitry.

It is to be understood that the foregoing description is intended toillustrate and not to limit the scope of the disclosure, which isdefined by the scope of the appended claims. Other embodiments arewithin the scope of the following claims.

1. A method comprising: tracking over a period of time user popularityof a media content using a web service residing in a server, thepopularity and period of time representing a life cycle of each of themedia content; tracking over the period of time users enrolled in theweb service and when in the period of time each of the users adopted thetracked media content; associating adopted media content with userprofiles representing the users; and recommending media contentassociated with a first user who adopted the tracked media contentearlier in the period of time to a second user who may want to adopt thetracked media content subsequently in the period of time.
 2. The methodof claim 1 wherein tracking over the period of time user popularity ofthe media content is selected from the group consisting of tracking anumber of downloads by users at any given time within the period oftime, tracking a number of page views by users at any given time withinthe period of time, and tracking a length of time listened to or viewedby users at any given time within the period of time.
 3. The method ofclaim 1 wherein associating adopted media content with user profilesrepresenting the users comprises: identifying genres of the user'sadopted media content; and storing the adopted media content and theidentified media content in the user's web service profile.
 4. Themethod of claim 1 wherein each of the user profiles comprises auser-selectable preference indicator selected from the group consistingof how adventurous the user is feeling with respect to being exposed tonew content, and how adventurous the user is feeling with respect tobeing exposed to new content.
 5. The method of claim 1 whererecommending media content comprises: matching media content of a genreassociated with the first user with media content of the genreassociated with the second user; and recommending matched media contentof the genre associated with the first user to the second user.
 6. Themethod of claim 1 wherein tracking comprises: measuring a mean and avariance of a histogram of song plays; fitting the histogram to aGaussian curve; and re-labeling a time axis of the histogram tonormalize.
 7. The method of claim 6 wherein the mean of the Gaussiancurve becomes time 0, plus one and minus one standard deviations outlabeled as plus one and minus one.
 8. The method of claim 7 wherein auser who is a very early adopter has a mean play time that issignificantly less than zero and a user that is a very late adopter hasa mean play time that is much higher than one.
 9. A method comprising:tracking over a period of time user popularity of a media content usinga web service residing in a server, the popularity and period of timerepresenting a life cycle of each of the media content; tracking themedia content that users engage over time; cataloging the engagedcontent into user portfolios of content, along with other information;measuring differences in value of the media content in the portfolios ofusers at a first point in time and at a subsequent point in time;positioning users relative to each on a curve depending on value changesin their portfolios between the first point in time and the subsequentpoint in time; and recommending media content of a first user to asecond user, the first person positioned ahead of the second user on thecurve.
 10. The method of claim 9 wherein tracking over the period oftime user popularity of the media content is selected from the groupconsisting of tracking a number of downloads by users at any given timewithin the period of time, tracking a number of page views by users atany given time within the period of time, and tracking a length of timelistened to or viewed by users at any given time within the period oftime.
 11. The method of claim 9 wherein the value of media content isdetermined by how the media content is engaged as a fraction of allmedia engagement events.
 12. The method of claim 11 wherein eachengagement is equated to a point.
 13. The method of claim 9 whereinrecommending media content comprises: matching media content of a genreassociated with the first user with media content of the genreassociated with the second user; and recommending matched media contentof the genre associated with the first user to the second user.
 14. Amethod comprising: in a server system, tracking popularity of songs overa period of time; tracking songs that a user plays over time; catalogingthe tracked songs into a user portfolio of played songs along with otherinformation; valuing the tracked songs; and measuring a difference invalue of played songs in the portfolio of the user at a first point intime and at a subsequent point in time.
 15. The method of claim 14wherein valuing comprises monitoring how often the tracked songs areplayed by the user and a popularity of the tracked songs as a fractionof a total number of plays by a plurality of users.
 16. The method ofclaim 15 wherein each song play is assigned a point.
 17. The method ofclaim 16 wherein measuring comprises: assigning points to each play atthe first point in time; and assigning points to each play at thesubsequent point in time proportional to a song's change in popularity.18. A computer program product, tangibly embodied in an informationcarrier, for recommending new content, the computer program productbeing operable to cause data processing apparatus to: track over aperiod of time user popularity of a media content using a web serviceresiding in a server, the popularity and period of time representing alife cycle of each of the media content; track over the period of timeusers enrolled in the web service and when in the period of time each ofthe users adopted the tracked media content; associate adopted mediacontent with user profiles representing the users; and recommend mediacontent associated with a first user who adopted the tracked mediacontent earlier in the period of time to a second user who may want toadopt the tracked media content subsequently in the period of time. 19.The computer program product of claim 18 wherein associating adoptedmedia content with user profiles representing the users comprises:identifying genres of the user's adopted media content; and storing theadopted media content and the identified media content in the user's webservice profile.
 20. The computer program product of claim 18 whererecommending media content comprises: matching media content of a genreassociated with the first user with media content of the genreassociated with the second user; and recommending matched media contentof the genre associated with the first user to the second user.
 21. Thecomputer program product of claim 18 wherein tracking comprises:measuring a mean and a variance of a histogram of song plays; fittingthe histogram to a Gaussian curve; and re-labeling a time axis of thehistogram to normalize.
 22. A computer program product, tangiblyembodied in an information carrier, for recommending new content, thecomputer program product being operable to cause data processingapparatus to: in a server system, track popularity of songs over aperiod of time; track songs that a user plays over time; catalog thetracked songs into a user portfolio of played songs along with otherinformation; value the tracked songs; and measure a difference in valueof played songs in the portfolio of the user at a first point in timeand at a subsequent point in time.
 23. The computer program product ofclaim 22 wherein valuing comprises monitoring how often the trackedsongs are played by the user and a popularity of the tracked songs as afraction of a total number of plays by a plurality of users.
 24. Thecomputer program product of claim 23 wherein each song play is assigneda point.
 25. The computer program product of claim 24 wherein measuringcomprises: assigning points to each play at the first point in time; andassigning points to each play at the subsequent point in timeproportional to a song's change in popularity.